//using System;
//using System.IO;
//using System.Text.RegularExpressions;
//using TMPro;
//using UnityEditor;
//using UnityEngine;

//namespace UnityXEditor
//{
//    [Serializable]
//    public class TextMeshProSettings
//    {
//        public enum Font
//        {
//            宋体,
//            微软雅黑,
//            小米兰亭,
//        }
//        public enum ZiFuJi
//        {
//            中文,
//            中日韩,
//            全世界,
//        }
//        public enum Quality
//        {
//            高,
//            中,
//            低,
//        }
//        [SerializeField]
//        private bool m_Enabled = false;
//        [SerializeField]
//        private Font m_Font = Font.宋体;
//        [SerializeField]
//        private ZiFuJi m_ZiFuJi = ZiFuJi.中文;
//        [SerializeField]
//        private Quality m_Quality = Quality.中;

//        public bool enabled
//        {
//            get { return m_Enabled; }
//            set
//            {
//                if (value != m_Enabled)
//                {
//                    m_Enabled = value;
//                    Update();
//                }
//            }
//        }
//        public void OnGUI()
//        {
//            FontStyle origFontStyle = EditorStyles.label.fontStyle;
//            EditorStyles.label.fontStyle = FontStyle.Bold;
//            enabled = EditorGUILayout.Toggle("TextMeshPro", enabled);
//            EditorStyles.label.fontStyle = origFontStyle;
//            EditorGUI.indentLevel++;
//            {
//                EditorGUI.BeginDisabledGroup(!m_Enabled);
//                m_Font = (Font)EditorGUILayout.EnumPopup("字体", m_Font);
//                m_ZiFuJi = (ZiFuJi)EditorGUILayout.EnumPopup("字符集", m_ZiFuJi);
//                m_Quality = (Quality)EditorGUILayout.EnumPopup("质量", m_Quality);
//                EditorGUI.EndDisabledGroup();
//            }
//            EditorGUI.indentLevel--;
//        }
//        public void Update()
//        {
//            if (m_Enabled)
//            {
//                if (Resources.Load<TMP_Settings>("TMP Settings") == null)
//                {
//                    m_Enabled = false;
//                    if (EditorUtility.DisplayDialog("TextMeshProSettings", "项目中还未启用TextMeshPro，是否启用并导入资源？", "确定", "取消"))
//                    {
//                        TMP_PackageUtilities.ImportProjectResourcesMenu();
//                    }
//                    return;
//                }
//                string path = AssetDatabase.GetAssetPath(Resources.Load<TMP_Settings>("TMP Settings"));
//                string file = File.ReadAllText(path);
//                string newfile = Regex.Replace(file, @"m_defaultFontAsset:[\s\S]*?}", $"m_defaultFontAsset: {{fileID: 11400000, guid: {EditorFileTool.GetFileGUID("MiSans 8105字 SDF32.asset")}, type: 2}}");
//                File.WriteAllText(path, newfile);
//            }
//        }
//    }
//}